package lp2.projetoagenda;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import java.io.Serializable;
import java.util.Date;
public class Evento implements Serializable {
	
	private static final long serialVersionUID = 8465461256487211823L;

	




	private String nome,descricao,tipo;
	private int duracao;
	private Calendar data;
	private List<Contato> contatosDoEvento;
	public Evento(String nome,String descricao,Calendar data,int duracao,String tipo){
		this.nome = nome;
		this.descricao = descricao;
		this.data = data;
		this.duracao = duracao;
		this.tipo = tipo;
		
	}
	public Calendar getData() {
		return data;
	}
	public void setData(Calendar data) {
		this.data = data;
	}
	public String getTipo() {
		return tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	
	public String getNome() {
		return nome;
	}
	public void adicionarContato(Contato contato){
		contatosDoEvento.add(contato);
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}


	public Calendar getFim() {
		GregorianCalendar fim = (GregorianCalendar) data.clone();
		fim.set(Calendar.MINUTE, data.get(Calendar.MINUTE) + duracao);
		return fim;
	}

	public void setDuracao(int duracao) {
		this.duracao = duracao;
	}
	
	
	public boolean testaConflito(Evento evento2){
		if (evento2.getData().compareTo(getFim()) < 0) {
			return true;
		}
		
		return false;
	}
	
	public boolean Futuro(){
		if(getData().compareTo(new GregorianCalendar()) == -1)
			return false;
		else
			return true;
	}

}
